(component
  (type $ty-foo:foo/bar (;0;)
    (instance
      (type (;0;) (future u32))
      (type (;1;) (future 0))
      (type (;2;) (stream string))
      (type (;3;) (func (param "x" 1) (param "y" u32) (result 2)))
      (export (;0;) "foo" (func (type 3)))
    )
  )
  (import "foo:foo/bar" (instance $foo:foo/bar (;0;) (type $ty-foo:foo/bar)))
  (type (;1;) (future u32))
  (type (;2;) (future 1))
  (type (;3;) (stream string))
  (type (;4;) (func (param "x" 2) (param "y" u32) (result 3)))
  (import "foo" (func $foo (;0;) (type 4)))
  (core module $main (;0;)
    (type (;0;) (func (param i32 i32 i32) (result i32)))
    (type (;1;) (func (result i64)))
    (type (;2;) (func (param i32) (result i32)))
    (type (;3;) (func (param i32)))
    (type (;4;) (func (param i32 i32) (result i32)))
    (type (;5;) (func (param i32 i32)))
    (type (;6;) (func (param i32 i32 i32 i32) (result i32)))
    (import "$root" "[async-lower]foo" (func (;0;) (type 0)))
    (import "foo:foo/bar" "[async-lower]foo" (func (;1;) (type 0)))
    (import "$root" "[stream-new-2]foo" (func (;2;) (type 1)))
    (import "$root" "[stream-read-2]foo" (func (;3;) (type 0)))
    (import "$root" "[stream-write-2]foo" (func (;4;) (type 0)))
    (import "$root" "[stream-cancel-read-2]foo" (func (;5;) (type 2)))
    (import "$root" "[stream-cancel-write-2]foo" (func (;6;) (type 2)))
    (import "$root" "[stream-drop-readable-2]foo" (func (;7;) (type 3)))
    (import "$root" "[stream-drop-writable-2]foo" (func (;8;) (type 3)))
    (import "foo:foo/bar" "[stream-new-2]foo" (func (;9;) (type 1)))
    (import "foo:foo/bar" "[stream-read-2]foo" (func (;10;) (type 0)))
    (import "foo:foo/bar" "[stream-write-2]foo" (func (;11;) (type 0)))
    (import "foo:foo/bar" "[stream-cancel-read-2]foo" (func (;12;) (type 2)))
    (import "foo:foo/bar" "[stream-cancel-write-2]foo" (func (;13;) (type 2)))
    (import "foo:foo/bar" "[stream-drop-readable-2]foo" (func (;14;) (type 3)))
    (import "foo:foo/bar" "[stream-drop-writable-2]foo" (func (;15;) (type 3)))
    (import "$root" "[future-new-0]foo" (func (;16;) (type 1)))
    (import "$root" "[future-read-0]foo" (func (;17;) (type 4)))
    (import "$root" "[future-write-0]foo" (func (;18;) (type 4)))
    (import "$root" "[future-cancel-read-0]foo" (func (;19;) (type 2)))
    (import "$root" "[future-cancel-write-0]foo" (func (;20;) (type 2)))
    (import "$root" "[future-drop-readable-0]foo" (func (;21;) (type 3)))
    (import "$root" "[future-drop-writable-0]foo" (func (;22;) (type 3)))
    (import "foo:foo/bar" "[future-new-0]foo" (func (;23;) (type 1)))
    (import "foo:foo/bar" "[future-read-0]foo" (func (;24;) (type 4)))
    (import "foo:foo/bar" "[future-write-0]foo" (func (;25;) (type 4)))
    (import "foo:foo/bar" "[future-cancel-read-0]foo" (func (;26;) (type 2)))
    (import "foo:foo/bar" "[future-cancel-write-0]foo" (func (;27;) (type 2)))
    (import "foo:foo/bar" "[future-drop-readable-0]foo" (func (;28;) (type 3)))
    (import "foo:foo/bar" "[future-drop-writable-0]foo" (func (;29;) (type 3)))
    (import "$root" "[future-new-1]foo" (func (;30;) (type 1)))
    (import "$root" "[future-read-1]foo" (func (;31;) (type 4)))
    (import "$root" "[future-write-1]foo" (func (;32;) (type 4)))
    (import "$root" "[future-cancel-read-1]foo" (func (;33;) (type 2)))
    (import "$root" "[future-cancel-write-1]foo" (func (;34;) (type 2)))
    (import "$root" "[future-drop-readable-1]foo" (func (;35;) (type 3)))
    (import "$root" "[future-drop-writable-1]foo" (func (;36;) (type 3)))
    (import "foo:foo/bar" "[future-new-1]foo" (func (;37;) (type 1)))
    (import "foo:foo/bar" "[future-read-1]foo" (func (;38;) (type 4)))
    (import "foo:foo/bar" "[future-write-1]foo" (func (;39;) (type 4)))
    (import "foo:foo/bar" "[future-cancel-read-1]foo" (func (;40;) (type 2)))
    (import "foo:foo/bar" "[future-cancel-write-1]foo" (func (;41;) (type 2)))
    (import "foo:foo/bar" "[future-drop-readable-1]foo" (func (;42;) (type 3)))
    (import "foo:foo/bar" "[future-drop-writable-1]foo" (func (;43;) (type 3)))
    (import "[export]$root" "[stream-new-2]foo" (func (;44;) (type 1)))
    (import "[export]$root" "[stream-read-2]foo" (func (;45;) (type 0)))
    (import "[export]$root" "[stream-write-2]foo" (func (;46;) (type 0)))
    (import "[export]$root" "[stream-cancel-read-2]foo" (func (;47;) (type 2)))
    (import "[export]$root" "[stream-cancel-write-2]foo" (func (;48;) (type 2)))
    (import "[export]$root" "[stream-drop-readable-2]foo" (func (;49;) (type 3)))
    (import "[export]$root" "[stream-drop-writable-2]foo" (func (;50;) (type 3)))
    (import "[export]foo:foo/bar" "[stream-new-2]foo" (func (;51;) (type 1)))
    (import "[export]foo:foo/bar" "[stream-read-2]foo" (func (;52;) (type 0)))
    (import "[export]foo:foo/bar" "[stream-write-2]foo" (func (;53;) (type 0)))
    (import "[export]foo:foo/bar" "[stream-cancel-read-2]foo" (func (;54;) (type 2)))
    (import "[export]foo:foo/bar" "[stream-cancel-write-2]foo" (func (;55;) (type 2)))
    (import "[export]foo:foo/bar" "[stream-drop-readable-2]foo" (func (;56;) (type 3)))
    (import "[export]foo:foo/bar" "[stream-drop-writable-2]foo" (func (;57;) (type 3)))
    (import "[export]$root" "[future-new-0]foo" (func (;58;) (type 1)))
    (import "[export]$root" "[future-read-0]foo" (func (;59;) (type 4)))
    (import "[export]$root" "[future-write-0]foo" (func (;60;) (type 4)))
    (import "[export]$root" "[future-cancel-read-0]foo" (func (;61;) (type 2)))
    (import "[export]$root" "[future-cancel-write-0]foo" (func (;62;) (type 2)))
    (import "[export]$root" "[future-drop-readable-0]foo" (func (;63;) (type 3)))
    (import "[export]$root" "[future-drop-writable-0]foo" (func (;64;) (type 3)))
    (import "[export]foo:foo/bar" "[future-new-0]foo" (func (;65;) (type 1)))
    (import "[export]foo:foo/bar" "[future-read-0]foo" (func (;66;) (type 4)))
    (import "[export]foo:foo/bar" "[future-write-0]foo" (func (;67;) (type 4)))
    (import "[export]foo:foo/bar" "[future-cancel-read-0]foo" (func (;68;) (type 2)))
    (import "[export]foo:foo/bar" "[future-cancel-write-0]foo" (func (;69;) (type 2)))
    (import "[export]foo:foo/bar" "[future-drop-readable-0]foo" (func (;70;) (type 3)))
    (import "[export]foo:foo/bar" "[future-drop-writable-0]foo" (func (;71;) (type 3)))
    (import "[export]$root" "[future-new-1]foo" (func (;72;) (type 1)))
    (import "[export]$root" "[future-read-1]foo" (func (;73;) (type 4)))
    (import "[export]$root" "[future-write-1]foo" (func (;74;) (type 4)))
    (import "[export]$root" "[future-cancel-read-1]foo" (func (;75;) (type 2)))
    (import "[export]$root" "[future-cancel-write-1]foo" (func (;76;) (type 2)))
    (import "[export]$root" "[future-drop-readable-1]foo" (func (;77;) (type 3)))
    (import "[export]$root" "[future-drop-writable-1]foo" (func (;78;) (type 3)))
    (import "[export]foo:foo/bar" "[future-new-1]foo" (func (;79;) (type 1)))
    (import "[export]foo:foo/bar" "[future-read-1]foo" (func (;80;) (type 4)))
    (import "[export]foo:foo/bar" "[future-write-1]foo" (func (;81;) (type 4)))
    (import "[export]foo:foo/bar" "[future-cancel-read-1]foo" (func (;82;) (type 2)))
    (import "[export]foo:foo/bar" "[future-cancel-write-1]foo" (func (;83;) (type 2)))
    (import "[export]foo:foo/bar" "[future-drop-readable-1]foo" (func (;84;) (type 3)))
    (import "[export]foo:foo/bar" "[future-drop-writable-1]foo" (func (;85;) (type 3)))
    (memory (;0;) 1)
    (export "[async-lift-stackful]foo" (func 86))
    (export "[async-lift-stackful]foo:foo/bar#foo" (func 87))
    (export "memory" (memory 0))
    (export "cabi_realloc" (func 88))
    (func (;86;) (type 5) (param i32 i32)
      unreachable
    )
    (func (;87;) (type 5) (param i32 i32)
      unreachable
    )
    (func (;88;) (type 6) (param i32 i32 i32 i32) (result i32)
      unreachable
    )
    (@producers
      (processed-by "wit-component" "$CARGO_PKG_VERSION")
      (processed-by "my-fake-bindgen" "123.45")
    )
  )
  (core module $wit-component-shim-module (;1;)
    (type (;0;) (func (param i32 i32 i32) (result i32)))
    (type (;1;) (func (param i32 i32 i32) (result i32)))
    (type (;2;) (func (param i32 i32) (result i32)))
    (table (;0;) 26 26 funcref)
    (export "0" (func $"indirect-$root-[async-lower]foo"))
    (export "1" (func $"$root-[stream-read-2]foo"))
    (export "2" (func $"$root-[stream-write-2]foo"))
    (export "3" (func $"$root-[future-read-0]foo"))
    (export "4" (func $"$root-[future-write-0]foo"))
    (export "5" (func $"$root-[future-read-1]foo"))
    (export "6" (func $"$root-[future-write-1]foo"))
    (export "7" (func $"indirect-foo:foo/bar-[async-lower]foo"))
    (export "8" (func $"foo:foo/bar-[stream-read-2]foo"))
    (export "9" (func $"foo:foo/bar-[stream-write-2]foo"))
    (export "10" (func $"foo:foo/bar-[future-read-0]foo"))
    (export "11" (func $"foo:foo/bar-[future-write-0]foo"))
    (export "12" (func $"foo:foo/bar-[future-read-1]foo"))
    (export "13" (func $"foo:foo/bar-[future-write-1]foo"))
    (export "14" (func $"[export]$root-[stream-read-2]foo"))
    (export "15" (func $"[export]$root-[stream-write-2]foo"))
    (export "16" (func $"[export]$root-[future-read-0]foo"))
    (export "17" (func $"[export]$root-[future-write-0]foo"))
    (export "18" (func $"[export]$root-[future-read-1]foo"))
    (export "19" (func $"[export]$root-[future-write-1]foo"))
    (export "20" (func $"[export]foo:foo/bar-[stream-read-2]foo"))
    (export "21" (func $"[export]foo:foo/bar-[stream-write-2]foo"))
    (export "22" (func $"[export]foo:foo/bar-[future-read-0]foo"))
    (export "23" (func $"[export]foo:foo/bar-[future-write-0]foo"))
    (export "24" (func $"[export]foo:foo/bar-[future-read-1]foo"))
    (export "25" (func $"[export]foo:foo/bar-[future-write-1]foo"))
    (export "$imports" (table 0))
    (func $"indirect-$root-[async-lower]foo" (;0;) (type 0) (param i32 i32 i32) (result i32)
      local.get 0
      local.get 1
      local.get 2
      i32.const 0
      call_indirect (type 0)
    )
    (func $"$root-[stream-read-2]foo" (;1;) (type 1) (param i32 i32 i32) (result i32)
      local.get 0
      local.get 1
      local.get 2
      i32.const 1
      call_indirect (type 1)
    )
    (func $"$root-[stream-write-2]foo" (;2;) (type 1) (param i32 i32 i32) (result i32)
      local.get 0
      local.get 1
      local.get 2
      i32.const 2
      call_indirect (type 1)
    )
    (func $"$root-[future-read-0]foo" (;3;) (type 2) (param i32 i32) (result i32)
      local.get 0
      local.get 1
      i32.const 3
      call_indirect (type 2)
    )
    (func $"$root-[future-write-0]foo" (;4;) (type 2) (param i32 i32) (result i32)
      local.get 0
      local.get 1
      i32.const 4
      call_indirect (type 2)
    )
    (func $"$root-[future-read-1]foo" (;5;) (type 2) (param i32 i32) (result i32)
      local.get 0
      local.get 1
      i32.const 5
      call_indirect (type 2)
    )
    (func $"$root-[future-write-1]foo" (;6;) (type 2) (param i32 i32) (result i32)
      local.get 0
      local.get 1
      i32.const 6
      call_indirect (type 2)
    )
    (func $"indirect-foo:foo/bar-[async-lower]foo" (;7;) (type 0) (param i32 i32 i32) (result i32)
      local.get 0
      local.get 1
      local.get 2
      i32.const 7
      call_indirect (type 0)
    )
    (func $"foo:foo/bar-[stream-read-2]foo" (;8;) (type 1) (param i32 i32 i32) (result i32)
      local.get 0
      local.get 1
      local.get 2
      i32.const 8
      call_indirect (type 1)
    )
    (func $"foo:foo/bar-[stream-write-2]foo" (;9;) (type 1) (param i32 i32 i32) (result i32)
      local.get 0
      local.get 1
      local.get 2
      i32.const 9
      call_indirect (type 1)
    )
    (func $"foo:foo/bar-[future-read-0]foo" (;10;) (type 2) (param i32 i32) (result i32)
      local.get 0
      local.get 1
      i32.const 10
      call_indirect (type 2)
    )
    (func $"foo:foo/bar-[future-write-0]foo" (;11;) (type 2) (param i32 i32) (result i32)
      local.get 0
      local.get 1
      i32.const 11
      call_indirect (type 2)
    )
    (func $"foo:foo/bar-[future-read-1]foo" (;12;) (type 2) (param i32 i32) (result i32)
      local.get 0
      local.get 1
      i32.const 12
      call_indirect (type 2)
    )
    (func $"foo:foo/bar-[future-write-1]foo" (;13;) (type 2) (param i32 i32) (result i32)
      local.get 0
      local.get 1
      i32.const 13
      call_indirect (type 2)
    )
    (func $"[export]$root-[stream-read-2]foo" (;14;) (type 1) (param i32 i32 i32) (result i32)
      local.get 0
      local.get 1
      local.get 2
      i32.const 14
      call_indirect (type 1)
    )
    (func $"[export]$root-[stream-write-2]foo" (;15;) (type 1) (param i32 i32 i32) (result i32)
      local.get 0
      local.get 1
      local.get 2
      i32.const 15
      call_indirect (type 1)
    )
    (func $"[export]$root-[future-read-0]foo" (;16;) (type 2) (param i32 i32) (result i32)
      local.get 0
      local.get 1
      i32.const 16
      call_indirect (type 2)
    )
    (func $"[export]$root-[future-write-0]foo" (;17;) (type 2) (param i32 i32) (result i32)
      local.get 0
      local.get 1
      i32.const 17
      call_indirect (type 2)
    )
    (func $"[export]$root-[future-read-1]foo" (;18;) (type 2) (param i32 i32) (result i32)
      local.get 0
      local.get 1
      i32.const 18
      call_indirect (type 2)
    )
    (func $"[export]$root-[future-write-1]foo" (;19;) (type 2) (param i32 i32) (result i32)
      local.get 0
      local.get 1
      i32.const 19
      call_indirect (type 2)
    )
    (func $"[export]foo:foo/bar-[stream-read-2]foo" (;20;) (type 1) (param i32 i32 i32) (result i32)
      local.get 0
      local.get 1
      local.get 2
      i32.const 20
      call_indirect (type 1)
    )
    (func $"[export]foo:foo/bar-[stream-write-2]foo" (;21;) (type 1) (param i32 i32 i32) (result i32)
      local.get 0
      local.get 1
      local.get 2
      i32.const 21
      call_indirect (type 1)
    )
    (func $"[export]foo:foo/bar-[future-read-0]foo" (;22;) (type 2) (param i32 i32) (result i32)
      local.get 0
      local.get 1
      i32.const 22
      call_indirect (type 2)
    )
    (func $"[export]foo:foo/bar-[future-write-0]foo" (;23;) (type 2) (param i32 i32) (result i32)
      local.get 0
      local.get 1
      i32.const 23
      call_indirect (type 2)
    )
    (func $"[export]foo:foo/bar-[future-read-1]foo" (;24;) (type 2) (param i32 i32) (result i32)
      local.get 0
      local.get 1
      i32.const 24
      call_indirect (type 2)
    )
    (func $"[export]foo:foo/bar-[future-write-1]foo" (;25;) (type 2) (param i32 i32) (result i32)
      local.get 0
      local.get 1
      i32.const 25
      call_indirect (type 2)
    )
    (@producers
      (processed-by "wit-component" "$CARGO_PKG_VERSION")
    )
  )
  (core module $wit-component-fixup (;2;)
    (type (;0;) (func (param i32 i32 i32) (result i32)))
    (type (;1;) (func (param i32 i32 i32) (result i32)))
    (type (;2;) (func (param i32 i32) (result i32)))
    (import "" "0" (func (;0;) (type 0)))
    (import "" "1" (func (;1;) (type 1)))
    (import "" "2" (func (;2;) (type 1)))
    (import "" "3" (func (;3;) (type 2)))
    (import "" "4" (func (;4;) (type 2)))
    (import "" "5" (func (;5;) (type 2)))
    (import "" "6" (func (;6;) (type 2)))
    (import "" "7" (func (;7;) (type 0)))
    (import "" "8" (func (;8;) (type 1)))
    (import "" "9" (func (;9;) (type 1)))
    (import "" "10" (func (;10;) (type 2)))
    (import "" "11" (func (;11;) (type 2)))
    (import "" "12" (func (;12;) (type 2)))
    (import "" "13" (func (;13;) (type 2)))
    (import "" "14" (func (;14;) (type 1)))
    (import "" "15" (func (;15;) (type 1)))
    (import "" "16" (func (;16;) (type 2)))
    (import "" "17" (func (;17;) (type 2)))
    (import "" "18" (func (;18;) (type 2)))
    (import "" "19" (func (;19;) (type 2)))
    (import "" "20" (func (;20;) (type 1)))
    (import "" "21" (func (;21;) (type 1)))
    (import "" "22" (func (;22;) (type 2)))
    (import "" "23" (func (;23;) (type 2)))
    (import "" "24" (func (;24;) (type 2)))
    (import "" "25" (func (;25;) (type 2)))
    (import "" "$imports" (table (;0;) 26 26 funcref))
    (elem (;0;) (i32.const 0) func 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25)
    (@producers
      (processed-by "wit-component" "$CARGO_PKG_VERSION")
    )
  )
  (core instance $wit-component-shim-instance (;0;) (instantiate $wit-component-shim-module))
  (alias core export $wit-component-shim-instance "0" (core func $"indirect-$root-[async-lower]foo" (;0;)))
  (core func $stream.new (;1;) (canon stream.new 3))
  (alias core export $wit-component-shim-instance "1" (core func $"$root-[stream-read-2]foo" (;2;)))
  (alias core export $wit-component-shim-instance "2" (core func $"$root-[stream-write-2]foo" (;3;)))
  (core func $stream.cancel-read (;4;) (canon stream.cancel-read 3))
  (core func $stream.cancel-write (;5;) (canon stream.cancel-write 3))
  (core func $stream.drop-readable (;6;) (canon stream.drop-readable 3))
  (core func $stream.drop-writable (;7;) (canon stream.drop-writable 3))
  (core func $future.new (;8;) (canon future.new 1))
  (alias core export $wit-component-shim-instance "3" (core func $"$root-[future-read-0]foo" (;9;)))
  (alias core export $wit-component-shim-instance "4" (core func $"$root-[future-write-0]foo" (;10;)))
  (core func $future.cancel-read (;11;) (canon future.cancel-read 1))
  (core func $future.cancel-write (;12;) (canon future.cancel-write 1))
  (core func $future.drop-readable (;13;) (canon future.drop-readable 1))
  (core func $future.drop-writable (;14;) (canon future.drop-writable 1))
  (core func $"#core-func15 future.new" (@name "future.new") (;15;) (canon future.new 2))
  (alias core export $wit-component-shim-instance "5" (core func $"$root-[future-read-1]foo" (;16;)))
  (alias core export $wit-component-shim-instance "6" (core func $"$root-[future-write-1]foo" (;17;)))
  (core func $"#core-func18 future.cancel-read" (@name "future.cancel-read") (;18;) (canon future.cancel-read 2))
  (core func $"#core-func19 future.cancel-write" (@name "future.cancel-write") (;19;) (canon future.cancel-write 2))
  (core func $"#core-func20 future.drop-readable" (@name "future.drop-readable") (;20;) (canon future.drop-readable 2))
  (core func $"#core-func21 future.drop-writable" (@name "future.drop-writable") (;21;) (canon future.drop-writable 2))
  (core instance $$root (;1;)
    (export "[async-lower]foo" (func $"indirect-$root-[async-lower]foo"))
    (export "[stream-new-2]foo" (func $stream.new))
    (export "[stream-read-2]foo" (func $"$root-[stream-read-2]foo"))
    (export "[stream-write-2]foo" (func $"$root-[stream-write-2]foo"))
    (export "[stream-cancel-read-2]foo" (func $stream.cancel-read))
    (export "[stream-cancel-write-2]foo" (func $stream.cancel-write))
    (export "[stream-drop-readable-2]foo" (func $stream.drop-readable))
    (export "[stream-drop-writable-2]foo" (func $stream.drop-writable))
    (export "[future-new-0]foo" (func $future.new))
    (export "[future-read-0]foo" (func $"$root-[future-read-0]foo"))
    (export "[future-write-0]foo" (func $"$root-[future-write-0]foo"))
    (export "[future-cancel-read-0]foo" (func $future.cancel-read))
    (export "[future-cancel-write-0]foo" (func $future.cancel-write))
    (export "[future-drop-readable-0]foo" (func $future.drop-readable))
    (export "[future-drop-writable-0]foo" (func $future.drop-writable))
    (export "[future-new-1]foo" (func $"#core-func15 future.new"))
    (export "[future-read-1]foo" (func $"$root-[future-read-1]foo"))
    (export "[future-write-1]foo" (func $"$root-[future-write-1]foo"))
    (export "[future-cancel-read-1]foo" (func $"#core-func18 future.cancel-read"))
    (export "[future-cancel-write-1]foo" (func $"#core-func19 future.cancel-write"))
    (export "[future-drop-readable-1]foo" (func $"#core-func20 future.drop-readable"))
    (export "[future-drop-writable-1]foo" (func $"#core-func21 future.drop-writable"))
  )
  (alias core export $wit-component-shim-instance "7" (core func $"indirect-foo:foo/bar-[async-lower]foo" (;22;)))
  (core func $"#core-func23 stream.new" (@name "stream.new") (;23;) (canon stream.new 3))
  (alias core export $wit-component-shim-instance "8" (core func $"foo:foo/bar-[stream-read-2]foo" (;24;)))
  (alias core export $wit-component-shim-instance "9" (core func $"foo:foo/bar-[stream-write-2]foo" (;25;)))
  (core func $"#core-func26 stream.cancel-read" (@name "stream.cancel-read") (;26;) (canon stream.cancel-read 3))
  (core func $"#core-func27 stream.cancel-write" (@name "stream.cancel-write") (;27;) (canon stream.cancel-write 3))
  (core func $"#core-func28 stream.drop-readable" (@name "stream.drop-readable") (;28;) (canon stream.drop-readable 3))
  (core func $"#core-func29 stream.drop-writable" (@name "stream.drop-writable") (;29;) (canon stream.drop-writable 3))
  (core func $"#core-func30 future.new" (@name "future.new") (;30;) (canon future.new 1))
  (alias core export $wit-component-shim-instance "10" (core func $"foo:foo/bar-[future-read-0]foo" (;31;)))
  (alias core export $wit-component-shim-instance "11" (core func $"foo:foo/bar-[future-write-0]foo" (;32;)))
  (core func $"#core-func33 future.cancel-read" (@name "future.cancel-read") (;33;) (canon future.cancel-read 1))
  (core func $"#core-func34 future.cancel-write" (@name "future.cancel-write") (;34;) (canon future.cancel-write 1))
  (core func $"#core-func35 future.drop-readable" (@name "future.drop-readable") (;35;) (canon future.drop-readable 1))
  (core func $"#core-func36 future.drop-writable" (@name "future.drop-writable") (;36;) (canon future.drop-writable 1))
  (type (;5;) (future 1))
  (core func $"#core-func37 future.new" (@name "future.new") (;37;) (canon future.new 5))
  (alias core export $wit-component-shim-instance "12" (core func $"foo:foo/bar-[future-read-1]foo" (;38;)))
  (alias core export $wit-component-shim-instance "13" (core func $"foo:foo/bar-[future-write-1]foo" (;39;)))
  (core func $"#core-func40 future.cancel-read" (@name "future.cancel-read") (;40;) (canon future.cancel-read 5))
  (core func $"#core-func41 future.cancel-write" (@name "future.cancel-write") (;41;) (canon future.cancel-write 5))
  (core func $"#core-func42 future.drop-readable" (@name "future.drop-readable") (;42;) (canon future.drop-readable 5))
  (core func $"#core-func43 future.drop-writable" (@name "future.drop-writable") (;43;) (canon future.drop-writable 5))
  (core instance $foo:foo/bar (;2;)
    (export "[async-lower]foo" (func $"indirect-foo:foo/bar-[async-lower]foo"))
    (export "[stream-new-2]foo" (func $"#core-func23 stream.new"))
    (export "[stream-read-2]foo" (func $"foo:foo/bar-[stream-read-2]foo"))
    (export "[stream-write-2]foo" (func $"foo:foo/bar-[stream-write-2]foo"))
    (export "[stream-cancel-read-2]foo" (func $"#core-func26 stream.cancel-read"))
    (export "[stream-cancel-write-2]foo" (func $"#core-func27 stream.cancel-write"))
    (export "[stream-drop-readable-2]foo" (func $"#core-func28 stream.drop-readable"))
    (export "[stream-drop-writable-2]foo" (func $"#core-func29 stream.drop-writable"))
    (export "[future-new-0]foo" (func $"#core-func30 future.new"))
    (export "[future-read-0]foo" (func $"foo:foo/bar-[future-read-0]foo"))
    (export "[future-write-0]foo" (func $"foo:foo/bar-[future-write-0]foo"))
    (export "[future-cancel-read-0]foo" (func $"#core-func33 future.cancel-read"))
    (export "[future-cancel-write-0]foo" (func $"#core-func34 future.cancel-write"))
    (export "[future-drop-readable-0]foo" (func $"#core-func35 future.drop-readable"))
    (export "[future-drop-writable-0]foo" (func $"#core-func36 future.drop-writable"))
    (export "[future-new-1]foo" (func $"#core-func37 future.new"))
    (export "[future-read-1]foo" (func $"foo:foo/bar-[future-read-1]foo"))
    (export "[future-write-1]foo" (func $"foo:foo/bar-[future-write-1]foo"))
    (export "[future-cancel-read-1]foo" (func $"#core-func40 future.cancel-read"))
    (export "[future-cancel-write-1]foo" (func $"#core-func41 future.cancel-write"))
    (export "[future-drop-readable-1]foo" (func $"#core-func42 future.drop-readable"))
    (export "[future-drop-writable-1]foo" (func $"#core-func43 future.drop-writable"))
  )
  (core func $"#core-func44 stream.new" (@name "stream.new") (;44;) (canon stream.new 3))
  (alias core export $wit-component-shim-instance "14" (core func $"[export]$root-[stream-read-2]foo" (;45;)))
  (alias core export $wit-component-shim-instance "15" (core func $"[export]$root-[stream-write-2]foo" (;46;)))
  (core func $"#core-func47 stream.cancel-read" (@name "stream.cancel-read") (;47;) (canon stream.cancel-read 3))
  (core func $"#core-func48 stream.cancel-write" (@name "stream.cancel-write") (;48;) (canon stream.cancel-write 3))
  (core func $"#core-func49 stream.drop-readable" (@name "stream.drop-readable") (;49;) (canon stream.drop-readable 3))
  (core func $"#core-func50 stream.drop-writable" (@name "stream.drop-writable") (;50;) (canon stream.drop-writable 3))
  (core func $"#core-func51 future.new" (@name "future.new") (;51;) (canon future.new 1))
  (alias core export $wit-component-shim-instance "16" (core func $"[export]$root-[future-read-0]foo" (;52;)))
  (alias core export $wit-component-shim-instance "17" (core func $"[export]$root-[future-write-0]foo" (;53;)))
  (core func $"#core-func54 future.cancel-read" (@name "future.cancel-read") (;54;) (canon future.cancel-read 1))
  (core func $"#core-func55 future.cancel-write" (@name "future.cancel-write") (;55;) (canon future.cancel-write 1))
  (core func $"#core-func56 future.drop-readable" (@name "future.drop-readable") (;56;) (canon future.drop-readable 1))
  (core func $"#core-func57 future.drop-writable" (@name "future.drop-writable") (;57;) (canon future.drop-writable 1))
  (core func $"#core-func58 future.new" (@name "future.new") (;58;) (canon future.new 2))
  (alias core export $wit-component-shim-instance "18" (core func $"[export]$root-[future-read-1]foo" (;59;)))
  (alias core export $wit-component-shim-instance "19" (core func $"[export]$root-[future-write-1]foo" (;60;)))
  (core func $"#core-func61 future.cancel-read" (@name "future.cancel-read") (;61;) (canon future.cancel-read 2))
  (core func $"#core-func62 future.cancel-write" (@name "future.cancel-write") (;62;) (canon future.cancel-write 2))
  (core func $"#core-func63 future.drop-readable" (@name "future.drop-readable") (;63;) (canon future.drop-readable 2))
  (core func $"#core-func64 future.drop-writable" (@name "future.drop-writable") (;64;) (canon future.drop-writable 2))
  (core instance $"[export]$root" (;3;)
    (export "[stream-new-2]foo" (func $"#core-func44 stream.new"))
    (export "[stream-read-2]foo" (func $"[export]$root-[stream-read-2]foo"))
    (export "[stream-write-2]foo" (func $"[export]$root-[stream-write-2]foo"))
    (export "[stream-cancel-read-2]foo" (func $"#core-func47 stream.cancel-read"))
    (export "[stream-cancel-write-2]foo" (func $"#core-func48 stream.cancel-write"))
    (export "[stream-drop-readable-2]foo" (func $"#core-func49 stream.drop-readable"))
    (export "[stream-drop-writable-2]foo" (func $"#core-func50 stream.drop-writable"))
    (export "[future-new-0]foo" (func $"#core-func51 future.new"))
    (export "[future-read-0]foo" (func $"[export]$root-[future-read-0]foo"))
    (export "[future-write-0]foo" (func $"[export]$root-[future-write-0]foo"))
    (export "[future-cancel-read-0]foo" (func $"#core-func54 future.cancel-read"))
    (export "[future-cancel-write-0]foo" (func $"#core-func55 future.cancel-write"))
    (export "[future-drop-readable-0]foo" (func $"#core-func56 future.drop-readable"))
    (export "[future-drop-writable-0]foo" (func $"#core-func57 future.drop-writable"))
    (export "[future-new-1]foo" (func $"#core-func58 future.new"))
    (export "[future-read-1]foo" (func $"[export]$root-[future-read-1]foo"))
    (export "[future-write-1]foo" (func $"[export]$root-[future-write-1]foo"))
    (export "[future-cancel-read-1]foo" (func $"#core-func61 future.cancel-read"))
    (export "[future-cancel-write-1]foo" (func $"#core-func62 future.cancel-write"))
    (export "[future-drop-readable-1]foo" (func $"#core-func63 future.drop-readable"))
    (export "[future-drop-writable-1]foo" (func $"#core-func64 future.drop-writable"))
  )
  (type (;6;) (stream string))
  (core func $"#core-func65 stream.new" (@name "stream.new") (;65;) (canon stream.new 6))
  (alias core export $wit-component-shim-instance "20" (core func $"[export]foo:foo/bar-[stream-read-2]foo" (;66;)))
  (alias core export $wit-component-shim-instance "21" (core func $"[export]foo:foo/bar-[stream-write-2]foo" (;67;)))
  (core func $"#core-func68 stream.cancel-read" (@name "stream.cancel-read") (;68;) (canon stream.cancel-read 6))
  (core func $"#core-func69 stream.cancel-write" (@name "stream.cancel-write") (;69;) (canon stream.cancel-write 6))
  (core func $"#core-func70 stream.drop-readable" (@name "stream.drop-readable") (;70;) (canon stream.drop-readable 6))
  (core func $"#core-func71 stream.drop-writable" (@name "stream.drop-writable") (;71;) (canon stream.drop-writable 6))
  (type (;7;) (future u32))
  (core func $"#core-func72 future.new" (@name "future.new") (;72;) (canon future.new 7))
  (alias core export $wit-component-shim-instance "22" (core func $"[export]foo:foo/bar-[future-read-0]foo" (;73;)))
  (alias core export $wit-component-shim-instance "23" (core func $"[export]foo:foo/bar-[future-write-0]foo" (;74;)))
  (core func $"#core-func75 future.cancel-read" (@name "future.cancel-read") (;75;) (canon future.cancel-read 7))
  (core func $"#core-func76 future.cancel-write" (@name "future.cancel-write") (;76;) (canon future.cancel-write 7))
  (core func $"#core-func77 future.drop-readable" (@name "future.drop-readable") (;77;) (canon future.drop-readable 7))
  (core func $"#core-func78 future.drop-writable" (@name "future.drop-writable") (;78;) (canon future.drop-writable 7))
  (type (;8;) (future 7))
  (core func $"#core-func79 future.new" (@name "future.new") (;79;) (canon future.new 8))
  (alias core export $wit-component-shim-instance "24" (core func $"[export]foo:foo/bar-[future-read-1]foo" (;80;)))
  (alias core export $wit-component-shim-instance "25" (core func $"[export]foo:foo/bar-[future-write-1]foo" (;81;)))
  (core func $"#core-func82 future.cancel-read" (@name "future.cancel-read") (;82;) (canon future.cancel-read 8))
  (core func $"#core-func83 future.cancel-write" (@name "future.cancel-write") (;83;) (canon future.cancel-write 8))
  (core func $"#core-func84 future.drop-readable" (@name "future.drop-readable") (;84;) (canon future.drop-readable 8))
  (core func $"#core-func85 future.drop-writable" (@name "future.drop-writable") (;85;) (canon future.drop-writable 8))
  (core instance $"[export]foo:foo/bar" (;4;)
    (export "[stream-new-2]foo" (func $"#core-func65 stream.new"))
    (export "[stream-read-2]foo" (func $"[export]foo:foo/bar-[stream-read-2]foo"))
    (export "[stream-write-2]foo" (func $"[export]foo:foo/bar-[stream-write-2]foo"))
    (export "[stream-cancel-read-2]foo" (func $"#core-func68 stream.cancel-read"))
    (export "[stream-cancel-write-2]foo" (func $"#core-func69 stream.cancel-write"))
    (export "[stream-drop-readable-2]foo" (func $"#core-func70 stream.drop-readable"))
    (export "[stream-drop-writable-2]foo" (func $"#core-func71 stream.drop-writable"))
    (export "[future-new-0]foo" (func $"#core-func72 future.new"))
    (export "[future-read-0]foo" (func $"[export]foo:foo/bar-[future-read-0]foo"))
    (export "[future-write-0]foo" (func $"[export]foo:foo/bar-[future-write-0]foo"))
    (export "[future-cancel-read-0]foo" (func $"#core-func75 future.cancel-read"))
    (export "[future-cancel-write-0]foo" (func $"#core-func76 future.cancel-write"))
    (export "[future-drop-readable-0]foo" (func $"#core-func77 future.drop-readable"))
    (export "[future-drop-writable-0]foo" (func $"#core-func78 future.drop-writable"))
    (export "[future-new-1]foo" (func $"#core-func79 future.new"))
    (export "[future-read-1]foo" (func $"[export]foo:foo/bar-[future-read-1]foo"))
    (export "[future-write-1]foo" (func $"[export]foo:foo/bar-[future-write-1]foo"))
    (export "[future-cancel-read-1]foo" (func $"#core-func82 future.cancel-read"))
    (export "[future-cancel-write-1]foo" (func $"#core-func83 future.cancel-write"))
    (export "[future-drop-readable-1]foo" (func $"#core-func84 future.drop-readable"))
    (export "[future-drop-writable-1]foo" (func $"#core-func85 future.drop-writable"))
  )
  (core instance $main (;5;) (instantiate $main
      (with "$root" (instance $$root))
      (with "foo:foo/bar" (instance $foo:foo/bar))
      (with "[export]$root" (instance $"[export]$root"))
      (with "[export]foo:foo/bar" (instance $"[export]foo:foo/bar"))
    )
  )
  (alias core export $main "memory" (core memory $memory (;0;)))
  (alias core export $wit-component-shim-instance "$imports" (core table $"shim table" (;0;)))
  (alias core export $main "cabi_realloc" (core func $realloc (;86;)))
  (core func $"#core-func87 indirect-$root-[async-lower]foo" (@name "indirect-$root-[async-lower]foo") (;87;) (canon lower (func $foo) (memory $memory) async))
  (core func $stream.read (;88;) (canon stream.read 3 (memory $memory) (realloc $realloc) string-encoding=utf8))
  (core func $stream.write (;89;) (canon stream.write 3 (memory $memory) string-encoding=utf8))
  (core func $future.read (;90;) (canon future.read 1 (memory $memory)))
  (core func $future.write (;91;) (canon future.write 1 (memory $memory)))
  (core func $"#core-func92 future.read" (@name "future.read") (;92;) (canon future.read 2 (memory $memory)))
  (core func $"#core-func93 future.write" (@name "future.write") (;93;) (canon future.write 2 (memory $memory)))
  (alias export $foo:foo/bar "foo" (func $"#func1 foo" (@name "foo") (;1;)))
  (core func $"#core-func94 indirect-foo:foo/bar-[async-lower]foo" (@name "indirect-foo:foo/bar-[async-lower]foo") (;94;) (canon lower (func $"#func1 foo") (memory $memory) async))
  (core func $"#core-func95 stream.read" (@name "stream.read") (;95;) (canon stream.read 3 (memory $memory) (realloc $realloc) string-encoding=utf8))
  (core func $"#core-func96 stream.write" (@name "stream.write") (;96;) (canon stream.write 3 (memory $memory) string-encoding=utf8))
  (core func $"#core-func97 future.read" (@name "future.read") (;97;) (canon future.read 1 (memory $memory)))
  (core func $"#core-func98 future.write" (@name "future.write") (;98;) (canon future.write 1 (memory $memory)))
  (core func $"#core-func99 future.read" (@name "future.read") (;99;) (canon future.read 5 (memory $memory)))
  (core func $"#core-func100 future.write" (@name "future.write") (;100;) (canon future.write 5 (memory $memory)))
  (core func $"#core-func101 stream.read" (@name "stream.read") (;101;) (canon stream.read 3 (memory $memory) (realloc $realloc) string-encoding=utf8))
  (core func $"#core-func102 stream.write" (@name "stream.write") (;102;) (canon stream.write 3 (memory $memory) string-encoding=utf8))
  (core func $"#core-func103 future.read" (@name "future.read") (;103;) (canon future.read 1 (memory $memory)))
  (core func $"#core-func104 future.write" (@name "future.write") (;104;) (canon future.write 1 (memory $memory)))
  (core func $"#core-func105 future.read" (@name "future.read") (;105;) (canon future.read 2 (memory $memory)))
  (core func $"#core-func106 future.write" (@name "future.write") (;106;) (canon future.write 2 (memory $memory)))
  (core func $"#core-func107 stream.read" (@name "stream.read") (;107;) (canon stream.read 6 (memory $memory) (realloc $realloc) string-encoding=utf8))
  (core func $"#core-func108 stream.write" (@name "stream.write") (;108;) (canon stream.write 6 (memory $memory) string-encoding=utf8))
  (core func $"#core-func109 future.read" (@name "future.read") (;109;) (canon future.read 7 (memory $memory)))
  (core func $"#core-func110 future.write" (@name "future.write") (;110;) (canon future.write 7 (memory $memory)))
  (core func $"#core-func111 future.read" (@name "future.read") (;111;) (canon future.read 8 (memory $memory)))
  (core func $"#core-func112 future.write" (@name "future.write") (;112;) (canon future.write 8 (memory $memory)))
  (core instance $fixup-args (;6;)
    (export "$imports" (table $"shim table"))
    (export "0" (func $"#core-func87 indirect-$root-[async-lower]foo"))
    (export "1" (func $stream.read))
    (export "2" (func $stream.write))
    (export "3" (func $future.read))
    (export "4" (func $future.write))
    (export "5" (func $"#core-func92 future.read"))
    (export "6" (func $"#core-func93 future.write"))
    (export "7" (func $"#core-func94 indirect-foo:foo/bar-[async-lower]foo"))
    (export "8" (func $"#core-func95 stream.read"))
    (export "9" (func $"#core-func96 stream.write"))
    (export "10" (func $"#core-func97 future.read"))
    (export "11" (func $"#core-func98 future.write"))
    (export "12" (func $"#core-func99 future.read"))
    (export "13" (func $"#core-func100 future.write"))
    (export "14" (func $"#core-func101 stream.read"))
    (export "15" (func $"#core-func102 stream.write"))
    (export "16" (func $"#core-func103 future.read"))
    (export "17" (func $"#core-func104 future.write"))
    (export "18" (func $"#core-func105 future.read"))
    (export "19" (func $"#core-func106 future.write"))
    (export "20" (func $"#core-func107 stream.read"))
    (export "21" (func $"#core-func108 stream.write"))
    (export "22" (func $"#core-func109 future.read"))
    (export "23" (func $"#core-func110 future.write"))
    (export "24" (func $"#core-func111 future.read"))
    (export "25" (func $"#core-func112 future.write"))
  )
  (core instance $fixup (;7;) (instantiate $wit-component-fixup
      (with "" (instance $fixup-args))
    )
  )
  (alias core export $main "[async-lift-stackful]foo" (core func $"[async-lift-stackful]foo" (;113;)))
  (func $"#func2 foo" (@name "foo") (;2;) (type 4) (canon lift (core func $"[async-lift-stackful]foo") async))
  (export $"#func3 foo" (@name "foo") (;3;) "foo" (func $"#func2 foo"))
  (type (;9;) (func (param "x" 8) (param "y" u32) (result 6)))
  (alias core export $main "[async-lift-stackful]foo:foo/bar#foo" (core func $"[async-lift-stackful]foo:foo/bar#foo" (;114;)))
  (func $"#func4 foo" (@name "foo") (;4;) (type 9) (canon lift (core func $"[async-lift-stackful]foo:foo/bar#foo") async))
  (component $foo:foo/bar-shim-component (;0;)
    (type (;0;) (future u32))
    (type (;1;) (future 0))
    (type (;2;) (stream string))
    (type (;3;) (func (param "x" 1) (param "y" u32) (result 2)))
    (import "import-func-foo" (func (;0;) (type 3)))
    (type (;4;) (future u32))
    (type (;5;) (future 4))
    (type (;6;) (stream string))
    (type (;7;) (func (param "x" 5) (param "y" u32) (result 6)))
    (export (;1;) "foo" (func 0) (func (type 7)))
  )
  (instance $foo:foo/bar-shim-instance (;1;) (instantiate $foo:foo/bar-shim-component
      (with "import-func-foo" (func $"#func4 foo"))
    )
  )
  (export $"#instance2 foo:foo/bar" (@name "foo:foo/bar") (;2;) "foo:foo/bar" (instance $foo:foo/bar-shim-instance))
  (@producers
    (processed-by "wit-component" "$CARGO_PKG_VERSION")
  )
)
